There are conventional techniques with which an input is made at an arbitrary position on the screen using an input device such as a touch panel or a touch pad. For example, in a game device including a touch panel of a conventional technique, the movement of a character in a game space is controlled based on a trace drawn by inputs on the touch panel. Then, a player can perform game operations while freely specifying a position in the game space on a two-dimensional plane.
With the conventional technique, it was possible to specify a position on a two-dimensional plane by using an input device such as a touch panel, but it was difficult to specify a position in a three-dimensional space. For example, with the conventional technique, it is possible to specify an arbitrary position in a game space if the game space is a two-dimensional plane, but it is not possible to properly specify a position in a game space if it is a three-dimensional game space.
Therefore, the present specification discloses an input system, etc., with which it is possible to easily specify a position in a three-dimensional space based on an input on a planar input surface such as a touch panel or a touch pad.
(1)
An example input system described in the present specification includes a controller device and an information processing device for calculating a position in a three-dimensional virtual space based on an operation performed on the controller device.
The controller device includes a position detection unit, an inertia sensor unit, and an operation data transmission unit. The position detection unit detects an input position on a predetermined input surface. The operation data transmission unit transmits, to the information processing device, operation data including data representing detection results of the position detection unit and the inertia sensor unit.
The information processing device includes an attitude calculation unit, a surface setting unit, a first image generation unit, a first image outputting unit, and a position calculation unit. The attitude calculation unit calculates an attitude of the controller device based on the detection result of the inertia sensor unit. The surface setting unit sets a predetermined surface in the virtual space so that an attitude of the predetermined surface changes in accordance with the attitude of the controller device. The first image generation unit generates a first image which represents an area in the virtual space including a position of the surface. The first image outputting unit outputs the first image to a predetermined display device. The position calculation unit calculates, as the position in the virtual space, the position of the surface determined by the input position.
The “controller device” is not limited to the terminal device 7 of the embodiment to be described below, but may be any device that includes a position detection unit and an inertia sensor unit and that has a function of transmitting operation data to an information processing device.
The “information processing device” may be any device capable of performing processes of the various units. The information processing device may be a single-purpose information processing device for games, or a general-purpose information processing device such as an ordinary personal computer.
The “input system” may be any system that includes a controller device and an information processing device, and may or may not include the “predetermined display device” for displaying the first image. That is, the input system may be provided in a form where it includes the predetermined display device or in a form where it does not include the predetermined display device.
The “position detection unit” is not limited to a touch panel of the embodiment to be described below, but may be a touch pad. That is, it is not necessary for the controller device to include a display screen.
The “inertia sensor unit” may be any unit that includes any inertia sensor such as an acceleration sensor or a gyrosensor.
The “predetermined surface” may be a flat surface or a curved surface. The “predetermined surface” does not have to be displayed on the predetermined display device. That is, the “first image” may be any image representing an area in the virtual space including the position of the surface, and does not have to include an image of the predetermined surface.
With the configuration (1) above, the user can specify a position on the surface in the virtual space through an input on the input surface of the controller device. Since the attitude of this surface changes in accordance with the attitude of the controller device, the user can specify a position in a three-dimensional virtual space by specifying a position on the input surface while changing the attitude of the controller device. Thus, with the configuration (1) above, it is possible to easily specify a position in a three-dimensional space based on an input on a planar input surface such as a touch panel or a touch pad.
(2)
The first image generation unit may generate a predetermined image at a position on the first image corresponding to the position calculated by the position calculation unit.
With the configuration (2) above, the user can easily check a position in the virtual space calculated in accordance with an input on the input surface. It is also possible to draw a three-dimensional shape in the virtual space by drawing dots and lines on the input surface.
(3)
The first image generation unit may generate, as the predetermined image, an image representing a path extending through a series of positions which are determined in the virtual space by a series of input positions on the input surface.
The “series of input positions on the input surface” is a set of input positions that are detected one after another while the user stayed in contact with the input surface, and is for example a plurality of input positions along a line (path) that is drawn on the input surface.
With the configuration (3) above, when the user draws a line on the input surface, an image of the line (path) is displayed in the virtual space. Then, different images are displayed when dots are inputted on the input surface and when lines are inputted on the input surface, and it is therefore possible to display an image that more accurately reflects inputs made on the input surface. The user can easily generate a three-dimensional shape made up of lines in the virtual space by drawing lines on the input surface.
(4)
The information processing device may further include an object setting unit for arranging a predetermined object at the position calculated by the position calculation unit.
With the configuration (4) above, by arranging an object in the virtual space, it is possible to easily generate an image representing a position in the virtual space calculated in accordance with an input on the input surface.
(5)
The object setting unit may move the predetermined object based on an operation performed on the controller device.
To “move” is a concept including to translate, to move in an arc (to change the position while rotating), and to rotate (to change the attitude without changing the position).
With the configuration (5) above, by moving around the object generated by inputs made on the input surface, the player can view the object displayed on the predetermined display device from various positions and various directions so as to easily check the shape of the object.
(6)
The object setting unit may move the predetermined object based on the attitude of the controller device if a predetermined condition is satisfied for the operation performed on the controller device, and may not move the predetermined object based on the attitude of the controller device if the predetermined condition is not satisfied.
The “predetermined condition” may be any condition as long as it is a condition related to an operation performed on the controller device. For example, the condition may be considered satisfied when a predetermined operation is performed on the controller device, or may be considered satisfied from when a certain operation is performed on the controller device until a next operation is performed.
With the configuration (6) above, the user can move the object by an intuitive and easy operation of changing the attitude of the controller device. Moreover, if the configuration (6) above is combined with any of the configurations (10) to (12), it is possible to move the object by the same operation as the operation of moving the surface, and it is therefore possible to further improve the controllability.
(7)
The controller device may further include a display unit. Then, the position detection unit is a touch panel provided on a display screen of the display unit. The information processing device may further include a second image generation unit and a second image transmitting unit. The second image generation unit generates a second image which represents an area in the virtual space including a position of the surface. The second image transmitting unit transmits the second image to the controller device. The position calculation unit calculates, as the position in the virtual space, a position corresponding to the input position on the display screen.
With the configuration (7) above, a touch panel is provided on the display screen of the controller device, and an image representing an area in the virtual space in which the surface is set is displayed on the display screen of the controller device. Then, the position calculated by the position calculation unit is a position that is actually specified by the user on the display screen, and the user can therefore specify a position in the virtual space by an intuitive and easy-to-understand operation.
(8)
The second image generation unit may generate, as the second image, an image representing an area in the virtual space in which the surface is set.
With the configuration (8) above, since an image of the position of the surface in the virtual space is displayed on the controller device, it is easier for the user to perform an operation of specifying a position on the surface by an input on the input surface.
(9)
The first image generation unit may generate the first image using a first virtual camera whose viewing direction is set independently of the attitude of the surface. Then, the second image generation unit generates the second image using a second virtual camera whose viewing direction is set to be generally perpendicular to the surface.
The “first virtual camera” may be any virtual camera as long as the viewing direction thereof is set independently of the attitude of the surface, and the viewing direction thereof may change in response to conditions other than the attitude of the surface (e.g., in response to an operation by the user).
With the configuration (9) above, if the player changes the attitude of the surface by changing the attitude of the controller device, the viewing direction does not change in the image displayed on the predetermined display device, whereas the viewing direction changes in accordance with the attitude of the controller device in the image displayed on the controller device. Then, since the attitude of the surface is constant on the display on the controller device, the operation of specifying a position on the surface is made easier. Since the attitude of the surface changes on the display of the predetermined display device, it is possible to easily grasp the attitude of the surface in the virtual space. As described above, with the configuration (9) above, the user can easily perform the operation of specifying a position on the surface using the controller device, and easily check the attitude of the surface by looking at the screen of the predetermined display device, thereby making it easier to perform the operation of specifying a position in a three-dimensional virtual space.
(10)
The surface setting unit may control the attitude of the surface so that the attitude of the surface corresponds to the attitude of the controller device.
With the configuration (10) above, the user can intuitively and easily adjust the attitude of the surface by the operation of changing the attitude of the controller device.
(11)
The surface setting unit may control the attitude of the surface so that the attitude of the surface corresponds to the attitude of the controller device, and control a position of the surface in accordance with the attitude of the controller device.
With the configuration (11) above, the user can intuitively and easily adjust the attitude of the surface by an operation of changing the attitude of the controller device, and also adjust the position of the surface.
(12)
The surface setting unit may control the surface so that the surface moves in an arc about a predetermined position in the virtual space in accordance with the attitude of the controller device.
With the configuration (12) above, the surface moves along a spherical surface about the predetermined position as the center. Therefore, the user can feel as if the user were specifying a position on a spherical surface by making inputs on the input surface while changing the attitude of the controller device.
(13)
The surface setting unit may move the surface based on a direction input operation performed on the controller device.
With the configuration (13) above, the user can move the surface also by a different direction input operation other than the operation of changing the attitude of the controller device, thereby allowing the user to more freely perform the operation of moving the surface.
(14)
The information processing device may further include a game process unit for performing a predetermined game process using, as an input, the position calculated by the position calculation unit.
With the configuration (14) above, the user can play the game by a novel game operation of specifying a position on the input surface while changing the attitude of the controller device. It is also possible, with this game operation, to easily specify a position in a three-dimensional game space.
(15)
An example information processing system described in the present specification calculates a position in a three-dimensional virtual space based on an operation performed on an operation unit. The information processing system includes a position detection unit, a sensor unit, an operation data obtaining unit, an attitude calculation unit, a surface setting unit, a first image generation unit, a first image outputting unit, and a position calculation unit. The position detection unit detects an input position on a predetermined input surface provided on the operation unit. The sensor unit detects a physical quantity used for calculating an attitude of the operation unit. The operation data obtaining unit obtains operation data including data representing detection results of the position detection unit and the sensor unit. The attitude calculation unit calculates an attitude of the controller device based on the physical quantity. The surface setting unit sets a predetermined surface in the virtual space based on the attitude. The first image generation unit generates a first image which represents an area in the virtual space including a position of the surface. The first image outputting unit outputs the first image to a predetermined display device. The position calculation unit calculates, as the position in the virtual space, a position on the surface determined by the input position.
The “operation unit” is not limited to the terminal device 7 of the embodiment to be described below, but may be any device as long as the predetermined input surface can be provided thereon.
The “physical quantity used for calculating an attitude” may be any physical quantity as long as the attitude of the operation unit can be calculated (estimated) based on the physical quantity. Thus, a sensor unit for detecting such a physical quantity may be an inertia sensor such as a gyrosensor or an acceleration sensor as in the embodiment to be described below, as well as a magnetic sensor or a camera. Where the sensor unit is a magnetic sensor, the physical quantity is the azimuthal direction information detected by the magnetic sensor. Where the sensor unit is a camera, the physical quantity is the values regarding the captured image (e.g., pixel values) or the values obtained from the image (e.g., position coordinates of a predetermined image-capturing object in the captured image).
With the configuration (15) above, the user can specify a position on the surface in the virtual space by an input on the input surface of the operation unit. Since the attitude of the surface changes in accordance with the attitude of the controller device, the user can specify a position in a three-dimensional virtual space by specifying a position on the input surface while changing the attitude of the operation unit. Thus, with the configuration (15) above, it is possible to easily specify a position in a three-dimensional space based on an input on a planar input surface such as a touch panel or a touch pad, as with the configuration (1) above.
The present specification also discloses an example information processing device included in the input system, and an example computer-readable non-transitory storage medium storing an information processing program for causing a computer to function as units equivalent to various units of the information processing device (which may not include an image outputting unit). The present specification also discloses a three-dimensional position calculation method to be carried out by the information processing system or the information processing device.
With the input system, the information processing device, the storage medium and the three-dimensional position calculation method set forth above, it is possible to calculate a position on the surface in the virtual space based on an input on the input surface of the controller device and to control the attitude of the surface in accordance with the attitude of the controller device, thereby allowing the user to easily perform the operation of specifying a three-dimensional position based on an input made on a planar input surface such as a touch panel or a touch pad.
These and other features, aspects and advantages will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.